/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.pbs.facades;

import br.com.pbs.pojos.PessoaFisica;
import br.com.pbs.exeptions.BancoExeption;
import br.com.pbs.factory.Factory;
import br.com.pbs.interfaces.IFacadePessoa;
import br.com.pbs.interfaces.IFactoryPessoa;
import br.com.pbs.interfaces.IPessoaDao;
import br.com.pbs.pojos.Pessoa;
import java.util.List;

/**
 *
 * @author Luiz Segundo
 */
public class FacadePessoaFisica implements IFacadePessoa<PessoaFisica>{

        IFactoryPessoa fabrica = new Factory();
        IPessoaDao dao = fabrica.getPessoaFisicaDao();
        
        private FacadePessoaFisica(){
                
        }
        
        public static FacadePessoaFisica getInstance(){
                return new FacadePessoaFisica();
        }


        public boolean cadatraPessoa(PessoaFisica p) throws BancoExeption {
                return dao.save(p);
        }

        public boolean deletaPessoa(PessoaFisica p) throws BancoExeption{

                return dao.delete(p);
                
        }

        public PessoaFisica buscaPorNome(String nome) throws BancoExeption{

                return (PessoaFisica) dao.buscaObjetoPorNome(nome, new PessoaFisica());
                
        }

        public boolean atualizaPessoa(PessoaFisica p) throws BancoExeption{
                return dao.save(p);
        }

        public List<PessoaFisica> listaDeNomes(String nome) throws BancoExeption {
                return (List) dao.listaDeNomes(nome, new PessoaFisica());
        }    
}
